<template>
  <div class="clearfix selector">
    <div class="type-wrap logo">
      <div class="fl key brand">品牌</div>
      <div class="value logos">
        <ul class="logo-list">
          <!-- 品牌的地方 -->
          <li v-for="(trademark,index) in trademarkList" :key="trademark.tmId" @click="handler(trademark)">{{trademark.tmName}}</li>
        </ul>
      </div>
      <div class="ext">
        <a href="javascript:void(0);" class="sui-btn">多选</a>
        <a href="javascript:void(0);">更多</a>
      </div>
    </div>
    <!-- 平台属性地方 -->
    <div class="type-wrap" v-for="(attr,index) in attrsList" :key="attr.attrId">
      <!-- 相应的平台属性 -->
      <div class="fl key">{{attr.attrName}}</div>
      <div class="fl value">
        <ul class="type-list">
          <!-- 相应平台属性的属性值 -->
          <li v-for="(attrValue,index) in attr.attrValueList" :key="index" @click="handler1(attr,attrValue)">
            <a>{{attrValue}}</a>
          </li>
          
        </ul>
      </div>
      <div class="fl ext"></div>
    </div>
  </div>
</template>

<script>
  //获取品牌的数据 + 平台属性的数据进行展示
  //平台属性:颜色、内存、系统
  import {mapState} from 'vuex';
  export default {
    name: 'SearchSelector',
    computed:{
      ...mapState({
         trademarkList:state=>state.search.searchList.trademarkList,
         attrsList:state=>state.search.searchList.attrsList,
      })
    },
    methods: {
      //品牌点击的回调函数
      handler(trademark){
        //品牌结构是作为一个子组件内部结构，当用户点击品牌的时候,子组件需要把品牌的信息传递给
        //search父组件，因为父组件的面包屑需要展示。【儿子->父组件】传递数据
        //子给父传递数据:自定义事件、$bus、props
        //触发自定义事件
        //第一个参数：自定义事件类型  第二个参数：事件回调注入参数
        this.$emit("getTradeMark",trademark);
      },
      //平台属性的属性值回调函数
      handler1(attr,attrValue){
        //儿子给父亲传递数据---自定义事件
        //触发自定义事件
        this.$emit('getAttrAndAttrValueAndId',attr,attrValue);
      }
    }
  }
</script>

<style lang="less" scoped>
  .selector {
    border: 1px solid #ddd;
    margin-bottom: 5px;
    overflow: hidden;

    .logo {
      border-top: 0;
      margin: 0;
      position: relative;
      overflow: hidden;

      .key {
        padding-bottom: 87px !important;
      }
    }

    .type-wrap {
      margin: 0;
      position: relative;
      border-top: 1px solid #ddd;
      overflow: hidden;

      .key {
        width: 100px;
        background: #f1f1f1;
        line-height: 26px;
        text-align: right;
        padding: 10px 10px 0 15px;
        float: left;
      }

      .value {
        overflow: hidden;
        padding: 10px 0 0 15px;
        color: #333;
        margin-left: 120px;
        padding-right: 90px;

        .logo-list {
          li {
            float: left;
            border: 1px solid #e4e4e4;
            margin: -1px -1px 0 0;
            width: 105px;
            height: 52px;
            text-align: center;
            line-height: 52px;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            font-weight: 700;
            color: #e1251b;
            font-style: italic;
            font-size: 14px;

            img {
              max-width: 100%;
              vertical-align: middle;
            }
          }
        }

        .type-list {
          li {
            float: left;
            display: block;
            margin-right: 30px;
            line-height: 26px;

            a {
              text-decoration: none;
              color: #666;
            }
          }
        }
      }

      .ext {
        position: absolute;
        top: 10px;
        right: 10px;

        .sui-btn {
          display: inline-block;
          padding: 2px 14px;
          box-sizing: border-box;
          margin-bottom: 0;
          font-size: 12px;
          line-height: 18px;
          text-align: center;
          vertical-align: middle;
          cursor: pointer;
          padding: 0 10px;
          background: #fff;
          border: 1px solid #d5d5d5;
        }

        a {
          color: #666;
        }
      }
    }
  }
</style>